// sm3_hash.c
#include <stdio.h>
#include <string.h>
#include <gmssl/sm3.h>

int main() {
    const char *msg = "20231318fsl";
    size_t msg_len = strlen(msg);

    SM3_CTX ctx;
    uint8_t dgst[SM3_DIGEST_SIZE];

    sm3_init(&ctx);
    sm3_update(&ctx, (uint8_t*)msg, msg_len);
    sm3_finish(&ctx, dgst);

    printf("原文: %s\n", msg);
    printf("SM3 摘要: ");
    for (int i = 0; i < SM3_DIGEST_SIZE; i++) {
        printf("%02x", dgst[i]);
    }
    printf("\n");
    return 0;
}
